← → navigasi  •  F fullscreen
DATABASE
SQL
TABLE
ROW
KEY
DATA
Front-End Masterclass • Semester 2 • Bab 6

Bab 6 — MySQL Dasar

Belajar Menyimpan & Mengelola Data

Kelas 10 RPL  •  Tahun Ajaran 2025/2026
Bab 6 • Peta Materi

Apa Saja yang Kita Pelajari?

01Konsep Database
02Tabel, Row, Column
03Primary & Foreign Key
04Query SQL Dasar
05WHERE • ORDER BY • LIKE
06Mini Project Perpustakaan
07Rangkuman
08Latihan & Tugas
Konsep • Analogi Dunia Nyata

Apa Itu Database?

Database adalah tempat untuk menyimpan data secara rapi dan terstruktur agar mudah dicari, diubah, dan dikelola — seperti lemari arsip raksasa.

🗄️Lemari
(Database)
📁Laci
(Table)
📄Folder
(Row)
✏️Tulisan
(Column)
Konsep • Anatomi

Komponen Database

flowchart TB A["🗄️ DATABASE
Wadah utama semua data"] --> B["📋 TABLE
Kumpulan data sejenis"] B --> C["➡️ ROW / RECORD
Satu baris data"] B --> D["⬇️ COLUMN / FIELD
Satu jenis informasi"]
🗄️ DATABASE
📋 TABLE
➡️ ROW
⬇️ COLUMN
Konsep • Tabel

Tabel: Spreadsheet yang Lebih Powerful

Header = Column (jenis data). Tiap baris = Row (satu catatan).

id_bukujudulpenulisgenretahun
1Laskar PelangiAndrea HirataFiksi2005
2Bumi ManusiaPramoedyaSejarah1980
3Negeri 5 MenaraA. FuadiFiksi2009
4Filosofi TerasHenry ManampiringSelf-help2018
Konsep • Kunci

Primary Key

Primary Key = kolom ID unik untuk membedakan tiap baris. Tidak boleh kosong (null) dan tidak boleh duplikat.

ID: 1
Budi Santoso
ID: 2
Siti Aminah
PRIMARY KEY = ID Unik
ID: 3
Andi Wijaya
Konsep • Relasi

Foreign Key

Foreign Key = kolom yang menghubungkan satu tabel ke Primary Key tabel lain. Inilah cara tabel saling "berbicara".

📋 peminjaman

id_pinjam (PK)
id_buku (FK)
tgl_pinjam

📋 buku

id_buku (PK)
judul
genre

id_buku di tabel peminjaman menunjuk ke id_buku di tabel buku 🔗

SQL • Pengenalan

Berkenalan dengan SQL

SQL = Structured Query Language — bahasa untuk berbicara dengan database.

SELECT Membaca
INSERT Menambah
UPDATE Mengubah
DELETE Menghapus

ALUR SEBUAH QUERY:

flowchart LR A["👩‍💻 Client
(Aplikasi)"] --> B["📝 SQL Query"] B --> C["⚙️ Database Engine
(MySQL)"] C --> D["📊 Result Set
(Hasil)"]
👩‍💻 Client
📝 SQL Query
⚙️ MySQL Engine
📊 Result
SQL • Membaca Data

SELECT — Membaca Data

select.sql
-- Semua kolomSELECT * FROM buku; -- Kolom tertentuSELECT judul, genreFROM buku;

HASIL QUERY

judulgenre
Laskar PelangiFiksi
Bumi ManusiaSejarah
Negeri 5 MenaraFiksi
SQL • Menambah Data

INSERT — Menambah Data

insert.sql
INSERT INTO buku(judul, penulis, genre, tahun)VALUES('Pulang', 'Tere Liye', 'Fiksi', 2015);

DATA BARU MASUK ↓

idjudultahun
1Laskar Pelangi2005
2Bumi Manusia1980
3Pulang ✨2015
SQL • Mengubah Data

UPDATE — Mengubah Data

update.sql
UPDATE bukuSET genre = 'Novel'WHERE id_buku = 3;
⚠️ Selalu pakai WHERE saat UPDATE!  Tanpa WHERE, semua baris akan berubah.
SQL • Menghapus Data

DELETE — Menghapus Data

delete.sql
DELETE FROM bukuWHERE id_buku = 3;
⚠️ Hati-hati! Data yang dihapus tidak bisa di-undo.  Pastikan WHERE benar sebelum menjalankan.
SQL Lanjutan • Filtering

WHERE — Menyaring Data

where.sql
SELECT * FROM bukuWHERE genre = 'Fiksi'; -- Multi-kondisi:WHERE genre='Fiksi' AND tahun>2000;

genre = 'Fiksi' →

judulgenre
Laskar PelangiFiksi
Bumi ManusiaSejarah
Negeri 5 MenaraFiksi
Filosofi TerasSelf-help
SQL Lanjutan • Sorting

ORDER BY — Mengurutkan Data

order.sql
-- A → Z (naik)SELECT * FROM bukuORDER BY judul ASC; -- Terbaru dulu (turun)ORDER BY tahun DESC;
↑ ASC
A→Z / kecil→besar
↓ DESC
Z→A / besar→kecil
tahun ↓judul
2018Filosofi Teras
2009Negeri 5 Menara
2005Laskar Pelangi
SQL Lanjutan • Searching

LIKE — Mencari Pola

like.sql
SELECT * FROM bukuWHERE judul LIKE '%an';

Wildcard % = nol atau banyak karakter:

'%fiksi%' → mengandung "fiksi"
'J%' → diawali huruf J
'%an' → diakhiri "an"
SQL Lanjutan • Ringkasan

Kapan Pakai WHERE / ORDER BY / LIKE?

flowchart TD A["❓ Apa tujuanmu?"] --> B{"Menyaring baris
dengan syarat?"} B -- "Ya, cocok persis" --> C["✅ WHERE
genre = 'Fiksi'"] B -- "Ya, cari pola teks" --> D["✅ LIKE
judul LIKE '%an'"] A --> E{"Mengatur urutan?"} E -- "Ya" --> F["✅ ORDER BY
tahun DESC"]
❓ Apa tujuanmu?
✅ WHERE — syarat persis
✅ LIKE — cari pola
✅ ORDER BY — urutkan
Mini Project

Mini Project: Database Perpustakaan 📚

Kita akan merancang database nyata dengan 3 tabel yang saling berhubungan.

📖

buku

Daftar koleksi buku

👤

anggota

Data peminjam

🔄

peminjaman

Transaksi pinjam

Mini Project • Relasi

ER Diagram Perpustakaan

erDiagram ANGGOTA ||--o{ PEMINJAMAN : "melakukan" BUKU ||--o{ PEMINJAMAN : "dipinjam" BUKU { int id_buku PK string judul string genre } ANGGOTA { int id_anggota PK string nama string kelas } PEMINJAMAN { int id_pinjam PK int id_buku FK int id_anggota FK }
👤 ANGGOTA
id_anggota PK
🔄 PEMINJAMAN
id_buku FK • id_anggota FK
📖 BUKU
id_buku PK
Mini Project • Schema

SQL Schema Perpustakaan

schema.sql
CREATE TABLE buku ( id_buku INT PRIMARY KEY, judul VARCHAR(100), genre VARCHAR(50) ); CREATE TABLE anggota ( id_anggota INT PRIMARY KEY, nama VARCHAR(100) ); CREATE TABLE peminjaman ( id_pinjam INT PRIMARY KEY, id_buku INT, id_anggota INT );
Mini Project • Praktek Query

Query Praktek Perpustakaan

query.sql
SELECT judul, genre FROM buku
WHERE genre = 'Fiksi';
INSERT INTO anggota (nama, kelas)
VALUES ('Rina', 'X RPL 1');
UPDATE buku SET genre = 'Novel'
WHERE id_buku = 2;
DELETE FROM peminjaman
WHERE id_pinjam = 5;
SELECT b.judul, a.nama FROM peminjaman p
JOIN buku b ON p.id_buku = b.id_buku
JOIN anggota a ON p.id_anggota = a.id_anggota;
Rangkuman Bab 6

Mind Map: MySQL Dasar

MySQL Dasar
🗄️ Database & Tabel
🔑 Primary & Foreign Key
📖 SELECT
➕ INSERT
✏️ UPDATE
🗑️ DELETE
🔍 WHERE • ORDER BY • LIKE
📚 Mini Project
Latihan 1 • Identifikasi

Latihan 1: Identifikasi Komponen

Perhatikan tabel berikut. Identifikasi Primary Key dan jelaskan mengapa. Lalu tambahkan 1 kolom baru yang menurutmu penting.

id_bukujudulgenre
1PulangFiksi
2SapiensSains
3Atomic HabitsSelf-help
Jawaban: Primary Key = id_buku, karena nilainya unik dan tidak boleh duplikat/null. Kolom tambahan yang relevan: tahun, penulis, atau stok.
Latihan 2 • Tulis Query

Latihan 2: Tulis Query SQL

Tulis query SQL untuk kasus berikut:

  1. Tampilkan semua buku genre 'Fiksi', urut judul A–Z
  2. Tambahkan anggota baru: nama kamu sendiri
  3. Ubah status buku id_buku = 3 jadi 'Dipinjam'
1. SELECT * FROM buku WHERE genre='Fiksi' ORDER BY judul ASC;
2. INSERT INTO anggota (nama) VALUES ('Namamu');
3. UPDATE buku SET status='Dipinjam' WHERE id_buku=3;
Latihan 3 • Tugas Mandiri

Tugas: Database Toko Online Mini 🛒

Rancang database sederhana untuk Toko Online:

  • Buat min. 2 tabel: produk + pembeli
  • Tentukan Primary Key & Foreign Key
  • Tulis 5 query: SELECT, INSERT, UPDATE, DELETE, + WHERE
  • Gambar ER Diagram relasi antar tabel

📋 Pengumpulan

Format: screenshot SQL + foto/Canva ER Diagram.

Deadline: [isi tanggal]
Penilaian: Struktur tabel (30%) • Ketepatan query (40%) • ER Diagram (30%)

Bab 6 • Selesai 🎉

"Data adalah minyak baru dunia digital — dan kamu baru saja belajar cara menyaringnya."

SELANJUTNYA

Bab 7 — Relasi & JOIN Lanjutan